package ext.opensource.netty.client.mqtt.api;

import ext.opensource.netty.client.mqtt.common.MessageData;

public interface MqttConsumerProcess extends MqttConsumer {
	/**
	 * processSubAck
	 * 
	 * @param messageId
	 */
	void processSubAck(int messageId);

	/**
	 * processUnSubBack
	 * 
	 * @param messageId
	 */
	void processUnSubBack(int messageId);

	/**
	 * processPubRel
	 * 
	 * @param messageId
	 */
	void processPubRel(int messageId);

	/**
	 * processPublish
	 * 
	 * @param recviceMessage
	 */
	void processPublish(MessageData recviceMessage);

	/**
	 * sendPubRecMessage
	 * 
	 * @param messageId
	 */
	void sendPubRecMessage(int messageId);

	/**
	 * sendPubAckMessage
	 * 
	 * @param messageId
	 */
	void sendPubAckMessage(int messageId);

	/**
	 * sendPubCompMessage
	 * 
	 * @param messageId
	 */
	void sendPubCompMessage(int messageId);

	/**
	 * saveMesage
	 * 
	 * @param recviceMessage
	 */
	void saveMesage(MessageData recviceMessage);

	/**
	 * delMesage
	 * 
	 * @param messageId
	 */
	void delMesage(int messageId);
}
